package com.ruoyi.web.controller.demo.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 仪器设备对象 instrument_list
 * 
 * @author ruoyi
 * @date 2023-01-02
 */
public class InstrumentList extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 仪器id 仪器id */
    @Excel(name = "仪器id 仪器id")
    private Long instrumentId;

    /** 仪器名称 仪器名称 */
    @Excel(name = "仪器名称 仪器名称")
    private String name;

    /** 型号规格 型号规格 */
    @Excel(name = "型号规格 型号规格")
    private String specification;

    /** 所属部门 所属部门id */
    @Excel(name = "所属部门 所属部门id")
    private Long department;

    /** 主要技术指标 主要技术指标 */
    private String indicator;

    /** 检定有效期 检定有效期(单位：天) */
    private Long validTime;

    /** 库 id */
    @Excel(name = "库 id")
    private Long saveLocation;

    /** 设备状态 设备状态（0为报废，1为正常（默认），2为失效，3为维修保养） */
    @Excel(name = "设备状态 设备状态", readConverterExp = "0=为报废，1为正常（默认")
    private String instrumentStatus;

    /** 创建人 创建人 */
    @Excel(name = "创建人 创建人")
    private String creater;

    /** 创建时间 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间 创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 是否出库 0为未出库，1为已出库 */
    @Excel(name = "是否出库 0为未出库，1为已出库")
    private String instrumentOut;

    /** 出库人 用户id */
    private Long outUser;

    /** 出库时间 出库时间 */
    private Date outTime;

    private String userName;
    private String deptName;
    private String wareName;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getWareName() {
        return wareName;
    }

    public void setWareName(String wareName) {
        this.wareName = wareName;
    }

    /** sys_warehouse信息 */
    private List<SysWarehouse> sysWarehouseList;

    public void setInstrumentId(Long instrumentId) 
    {
        this.instrumentId = instrumentId;
    }

    public Long getInstrumentId() 
    {
        return instrumentId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }
    public void setDepartment(Long department) 
    {
        this.department = department;
    }

    public Long getDepartment() 
    {
        return department;
    }
    public void setIndicator(String indicator) 
    {
        this.indicator = indicator;
    }

    public String getIndicator() 
    {
        return indicator;
    }
    public void setValidTime(Long validTime) 
    {
        this.validTime = validTime;
    }

    public Long getValidTime() 
    {
        return validTime;
    }
    public void setSaveLocation(Long saveLocation) 
    {
        this.saveLocation = saveLocation;
    }

    public Long getSaveLocation() 
    {
        return saveLocation;
    }
    public void setInstrumentStatus(String instrumentStatus) 
    {
        this.instrumentStatus = instrumentStatus;
    }

    public String getInstrumentStatus() 
    {
        return instrumentStatus;
    }
    public void setCreater(String creater) 
    {
        this.creater = creater;
    }

    public String getCreater() 
    {
        return creater;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setInstrumentOut(String instrumentOut) 
    {
        this.instrumentOut = instrumentOut;
    }

    public String getInstrumentOut() 
    {
        return instrumentOut;
    }
    public void setOutUser(Long outUser) 
    {
        this.outUser = outUser;
    }

    public Long getOutUser() 
    {
        return outUser;
    }
    public void setOutTime(Date outTime) 
    {
        this.outTime = outTime;
    }

    public Date getOutTime() 
    {
        return outTime;
    }

    public List<SysWarehouse> getSysWarehouseList()
    {
        return sysWarehouseList;
    }

    public void setSysWarehouseList(List<SysWarehouse> sysWarehouseList)
    {
        this.sysWarehouseList = sysWarehouseList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("instrumentId", getInstrumentId())
            .append("name", getName())
            .append("specification", getSpecification())
            .append("department", getDepartment())
            .append("indicator", getIndicator())
            .append("validTime", getValidTime())
            .append("saveLocation", getSaveLocation())
            .append("instrumentStatus", getInstrumentStatus())
            .append("creater", getCreater())
            .append("createdTime", getCreatedTime())
            .append("remark", getRemark())
            .append("instrumentOut", getInstrumentOut())
            .append("outUser", getOutUser())
            .append("outTime", getOutTime())
            .append("sysWarehouseList", getSysWarehouseList())
            .toString();
    }
}
